package com.github.fork.json;

import com.alibaba.fastjson.parser.Feature;
import com.alibaba.fastjson.parser.ParserConfig;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.serializer.SerializeFilter;
import com.alibaba.fastjson.serializer.SerializerFeature;

import java.util.Map;

/**
 * @author Jerry Liu
 * @since 2017/3/22
 */
public class FastJsonConfig {

    private SerializeConfig serializeConfig;
    private ParserConfig parserConfig;
    private SerializerFeature[] serializerFeatures;
    private Feature[] features;
    private Map<Class<?>, SerializeFilter> serializeFilters;

    public SerializeConfig getSerializeConfig() {
        return serializeConfig;
    }

    public void setSerializeConfig(SerializeConfig serializeConfig) {
        this.serializeConfig = serializeConfig;
    }

    public ParserConfig getParserConfig() {
        return parserConfig;
    }

    public void setParserConfig(ParserConfig parserConfig) {
        this.parserConfig = parserConfig;
    }

    public SerializerFeature[] getSerializerFeatures() {
        return serializerFeatures;
    }

    public void setSerializerFeatures(SerializerFeature[] serializerFeatures) {
        this.serializerFeatures = serializerFeatures;
    }

    public Feature[] getFeatures() {
        return features;
    }

    public void setFeatures(Feature[] features) {
        this.features = features;
    }

    public Map<Class<?>, SerializeFilter> getSerializeFilters() {
        return serializeFilters;
    }

    public void setSerializeFilters(Map<Class<?>, SerializeFilter> serializeFilters) {
        this.serializeFilters = serializeFilters;
    }

    public FastJsonConfig(SerializeConfig serializeConfig,
                          SerializerFeature[] serializerFeatures,
                          Map<Class<?>, SerializeFilter> serializeFilters,
                          ParserConfig parserConfig,
                          Feature[] features) {
        this.serializeConfig = serializeConfig;
        this.parserConfig = parserConfig;
        this.serializerFeatures = serializerFeatures;
        this.features = features;
        this.serializeFilters = serializeFilters;
    }
}
